/************************************************************
** Archivo:		SolicitudDeTipoView
** Autor:		
** Fecha:		16/05/2009 19:19:07
** Descripción:	Clase generada automáticamente
** Cliente:		SC
** Proyecto:	eWedding
************************************************************/

using System;
using System.Collections.Generic;
using System.Text;

using Circo.Framework.BusinessLogic;
using Circo.Framework.Persistencia;

using SC.eWedding.Data.Entities;


namespace SC.eWedding.BusinessLogic.Views
{
    public partial class SolicitudDeTipoView : AbstractView
    {
    
        #region Private Vars

		private SolicitudDeTipoEntity _solicitudDeTipo;

        #endregion

        #region Constructors

		
		public SolicitudDeTipoView()
		{
			CrearVista(false);
		}

		public SolicitudDeTipoView(bool createRelatedViews)
		{
			CrearVista(createRelatedViews);
		}

		private void CrearVista(bool createRelatedViews)
		{
			this._solicitudDeTipo = new SolicitudDeTipoEntity();

			if (createRelatedViews)

			{

				this.Proveedor = new ProveedorView(true);

			}

		}

		public SolicitudDeTipoView(SolicitudDeTipoEntity unaEntidad)
		{
			if (unaEntidad != null)
				this._solicitudDeTipo = unaEntidad;

		}



        #endregion
        
        #region Attributes

		
		public int Id
		{
			get { return this._solicitudDeTipo.Id; }
			set { this._solicitudDeTipo.Id = value; }
		}

		public string NombrePropuesto
		{
			get { return this._solicitudDeTipo.NombrePropuesto; }
			set { this._solicitudDeTipo.NombrePropuesto = value; }
		}

		public string Razon
		{
			get { return this._solicitudDeTipo.Razon; }
			set { this._solicitudDeTipo.Razon = value; }
		}

		public Categorias CategPropuesta
		{
			get { return (Categorias)this._solicitudDeTipo.CategPropuesta; }
			set { this._solicitudDeTipo.CategPropuesta = (short)value; }
		}

		private ProveedorView _proveedor = null;
		public ProveedorView Proveedor
		{
			get
			{
				if (this._proveedor == null)
				{
					if (this._solicitudDeTipo.Proveedor != null)
						this._proveedor = new ProveedorView(this._solicitudDeTipo.Proveedor);
				}
				return _proveedor;
			}
			set
			{
				if (value != null)
				{
					this._solicitudDeTipo.Proveedor = value.MapToEntity();
					this._proveedor = new ProveedorView(this._solicitudDeTipo.Proveedor);
				}
				else
				{
					this._solicitudDeTipo.Proveedor = null;
					this._proveedor = null;
				}
			}
		}


        #endregion

        #region Mapping

		
		public SolicitudDeTipoEntity MapToEntity()
		{
			return this._solicitudDeTipo;
		}

		public override Entity MapToBaseEntity()
		{
			return MapToEntity();
		}



        #endregion

        #region CollectionSyncro

		

        #endregion
        
		#region Enums

		public enum  Categorias
		{
			Regalo = 3,
			Servicio = 2,
			Producto = 1,
		}

		#endregion

    }
}
